Conventional computer systems that operate software applications designed for interaction with users often provide a graphical user interface enabling such interaction. Conventional graphical user interfaces often provide users with a variety of mechanisms for interacting with the software application that executes within the computer. As an example, a typical graphical user interface provides the ability for a user to operate an input mechanism such as a keyboard and/or mouse to graphically maneuver a pointing or selection mechanism within the interface in order to interact with different types of graphical constructs. Graphical constructs can include, for example, a scroll bar allowing a user to scroll through regions of text or other content displayed within a window in relation to the scroll bar. Other types of graphical constructs include selection mechanisms, text boxes, slider bars, graphical buttons and the like that allow a user to provide various types of input for use by the software application during execution. Applications use conventional graphical user interfaces to provide input to the software application for subsequent processing, or alternatively, applications provide graphical user interfaces to display forms that a user can complete and print in hardcopy.
In some instances, the graphical user interface of a software application can provide graphical constructs that are arranged in or associated together within a group. As an example, one type of user selectable graphical construct is referred to as a radio button and generally, a radio button is often arranged within a group of radio buttons presented to the user within the graphical user interface. The radio button group allows the user to select one of the radio buttons to provide input to the graphical user interface (i.e., to the software application) on behalf of the related group of radio buttons. In other instances, a group of radio buttons allows a user to select one of multiple options for input into the software application.
As a specific example of grouping using radio buttons, suppose a graphical user interface is designed to obtain information about a user that is providing input into the software application to complete an electronic form displayed on the graphical user interface. The information to retrieve from user might include marital status, income level, educational level, and so forth. For many of these types of input, the graphical user interface might provide a respective radio button group within which the user can select a particular button of each group in order to provide a value associated with that button in the response to a question associated with the group. By way of example, a group of radio buttons for income level might provide individual user selectable radio buttons corresponding to different income levels (e.g., $0-$10,000, $10,001-$30,000, $30,001-$60,000, etc.). Upon a user selection of one of the radio buttons corresponding to an income level within the group, that radio button will return the value associated with the selected income level to the software application on behalf of that group of radio buttons.
Development of software applications that provide such graphical user interfaces can be a complex process. Software developers typically create graphical user interfaces by using a graphical user interface design and development application or tool, sometimes referred to as a GUI-builder, toolkit, or graphical form creator. Such graphical user interface development applications typically provide a graphical user interface that contains a palette of graphical widgets such a icons that represent various types of graphical constructs that a user can select and arrange within a development area that contains a graphical user interface under construction by the developer. The developer can use his or her input device to select desired graphical constructs and can drag and drop those constructs from the palette of available constructs onto the development area in order to graphically create a new graphical user interface or form. Thus if the developer desires to add a text box to the graphical user interface under construction, the developer can select a graphical construct or widget representing a text box from the palette of available graphical constructs and can drag and drop the text box widget (i.e., an icon) onto the development area to a desired location. Other types of graphical constructs such as scroll bars, borders, headers, buttons, lists, pull down menus and the like can be similarly selected and dragged and dropped onto the development area in order to construct the desired look and feel of the graphical user interface under construction.
In conventional graphical user interface development applications (that can include both software application development tools and form builder-type applications), creation of groups of graphical constructs allows the user to define a group of constructs by name and then specify individual graphical constructs that are to be part of that group. This process includes selection of an individual construct to be part of a group and configuring a set of group options to be associated with that selected individual graphical construct. This process is repeated for each construct added to the group. If the selected individual construct is the first member of a group of constructs to be created, a user can specify a group name for the new group of constructs. Additionally, the user can specify group options to be associated with that individual graphical construct to be added to the group. Group options that must be specified for each construct added to the group can include, for example, a look and feel of that graphical construct within the group, a visually displayed name or title associated with that graphical construct within the group, a value to be returned by the graphical construct (e.g., if the graphical construct is part of, for example, a radio button group) and other information. Once the group options associated with a selected graphical construct to be added to the group are completed, the user can position the graphical construct having the specified group options within the development area in relation to other constructs that might have been previously added to the group. This can include manually aligning the position of the newly added construct to in relation to the existing constructs in the group if there is a pattern (e.g,. horizontal or vertical arrangement) to the constructs in that group.
In this manner, conventional graphical user interface development applications allow grouping of graphical constructs. Examples of conventional software applications that provide such grouping mechanisms include Microsoft Corporation's “Dev studio,” manufactured by Microsoft Corporation of Redmond, Wash., U.S.A., which is a development application that enables developers to create graphical user interfaces and forms using mechanisms as explained above.